Information processing system, information processing method, information processing program, and computer-readable storage medium storing the information processing program

ABSTRACT

An information processing system includes a controller port having a plurality of ports to which a plurality of operation signals are input from a plurality of operation devices via a network. The information processing system also includes an execution unit configured to execute a game program in response to each of the plurality of operation signals input from each of the plurality of operation devices to each of the plurality of the ports, and an assignment unit configured to assign each of the plurality of operation devices to each of the plurality of respective ports. The assignment unit changes assignment of each of the plurality of operation devices to each of the plurality of ports in a predetermined case.

TECHNICAL FIELD

The present invention relates to an information processing system, aninformation processing method, an information processing program, and acomputer-readable recording medium having an information processingprogram stored thereon.

BACKGROUND ART

There has been known a technology for executing a game program that iscreated to be executed on a dedicated device on a different device orthe like by using an emulator.

SUMMARY OF INVENTION Technical Problem

However, in such a case as described above, for example, a plurality ofpersons may wish to play the game program created so as to be played by,for example, only one player. Further, in a case where, for example, thegame program is a golf game in which a plurality of players hit a ballin order, if the golf game is executed in a server-type system forexecuting a game, when a connection between the server and an operationdevice corresponding to one player is disconnected, it is difficult toproceed with the golf game. Further, in a case where, for example, aplurality of buttons of one controller are used to operate an object tobe controlled in the game program, a plurality of users may wish toshare the plurality of buttons.

An object of one or more embodiments of the present invention is toprovide an information processing system and the like capable of addinga new way of enjoying a game program created to be executed on adedicated device, for example, of providing the game program with afunction of realizing a social game or the like that allows a pluralityof players to play one game.

Solution to Problem

According to the present invention, an information processing systemincludes a controller port including a plurality of ports to which aplurality of operation signals are input from a plurality of operationdevices via a network; an execution unit configured to execute a gameprogram in response to each of the plurality of operation signals inputfrom each of the plurality of operation devices to each of the pluralityof the ports; and an assignment unit configured to assign each of theplurality of operation devices to each of the plurality of respectiveports. The assignment unit changes assignment of each of the pluralityof operation devices to each of the plurality of ports in apredetermined case.

According to the present invention, an information processing methodincludes executing a game program in response to each of a plurality ofoperation signals that input to each of the plurality of ports of acontroller port from a plurality of operation devices, wherein thecontroller port comprises the plurality of ports to which the pluralityof operation signals are input from the plurality of operation devicesvia a network; assigning each of the plurality of the operation devicesto each of the plurality of ports; and changing assignment of each ofthe plurality of operation devices to each of the plurality of ports ina predetermined case.

According to the present invention, an information processing programfor causing a computer to function as: a controller port unit comprisinga plurality of ports to which a plurality of operation signals are inputfrom a plurality of operation devices via a network; an execution unitconfigured to execute a game program in response to each of theplurality of operation signals input from each of the plurality ofoperation devices to each of the plurality of ports; and an assignmentunit configured to assign each of the plurality of operation devices toeach of the plurality of ports. The assignment unit changes assignmentof each of the plurality of operation devices to each of the pluralityof ports in a predetermined case.

Advantageous Effects of Invention

It is possible to provide the information processing system and the likecapable of adding a new way of enjoying a game program that is createdto be executed on a dedicated device, for example, of providing the gameprogram with a function of realizing a social game or the like thatallows a plurality of players to play one game.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 A diagram for illustrating an information processing systemaccording to an embodiment of the present invention.

FIG. 2 A diagram for illustrating a configuration of a terminal.

FIG. 3 A diagram illustrating an example of an external appearance ofthe terminal.

FIG. 4 A diagram for illustrating a functional configuration of aserver.

FIG. 5 A diagram for illustrating an example of operation informationobtained by an operation information obtaining unit.

FIG. 6 A diagram illustrating an example of an assignment table.

FIG. 7A A diagram illustrating another example of the assignment table.

FIG. 7B A diagram illustrating another example of the assignment table.

FIG. 8 A diagram illustrating an example of a flow of processing of theinformation processing system according to this embodiment.

FIG. 9A A diagram illustrating an example of a screen displayed at atime of assignment change.

FIG. 9B A diagram illustrating an example of the screen displayed at thetime of the assignment change.

FIG. 9C A diagram illustrating an example of the screen displayed at thetime of the assignment change.

FIG. 9D A diagram illustrating an example of the screen displayed at thetime of the assignment change.

FIG. 10A A diagram illustrating an example of the changed assignmenttable.

FIG. 10B A diagram illustrating an example of the changed assignmenttable.

FIG. 11 A diagram illustrating an example of an assignment tableaccording to Modified Example 1 of the present invention.

FIG. 12 A diagram illustrating an example of an assignment tableaccording to Modified Example 2 of the present invention.

DESCRIPTION OF EMBODIMENTS

A description is now given of an embodiment of the present inventionreferring to the drawings. Note that, throughout the drawings, the sameor corresponding components are denoted by the same reference numerals,and a duplicated description thereof is therefore omitted.

FIG. 1 is a diagram illustrating an information processing systemaccording to the embodiment of the present invention. As illustrated inFIG. 1, the information processing system of one or more embodiments ofthe present invention includes a server 101, a network 102, and aplurality of terminals 103. The server 101 includes a control unit 104,a memory unit 105, and a communication unit 106. The respective units104 and 105 are connected to each other via a bus 107. Note that, inFIG. 1, three terminals 103 are illustrated, but the number of terminals103 may differ.

The control unit 104 is, for example, a CPU or an MPU, and operates inaccordance with a program stored in the memory unit 105. The memory unit105 includes an information recording medium such as a hard disk drive,a ROM, or a RAM, and is an information recording medium having storedthereon programs executed by the control unit 104. Moreover, the memoryunit 105 also operates as a work memory for the control unit 104. Notethat, the programs processed by the control unit 104 may be downloadedand provided, for example, via the network 102, or may be provided bymeans of various computer-readable information recording media such as aCD-ROM and a DVD-ROM.

The communication unit 106 is, for example, a network interface, andtransmits/receives information via the network 102 in response to aninstruction issued from the control unit 104.

FIG. 2 is a diagram for illustrating a configuration of a terminal. Asillustrated in FIG. 2, the terminal 103 includes a control unit 201, acommunication unit 202, a memory unit 203, a display unit 204, and anoperation unit 205. Note that, the respective units 201 to 205 areconnected to one another via a bus 206. Similarly to the server 101, thecontrol unit 201 is, for example, a CPU or an MPU, and operates inaccordance with a program stored in the memory unit 203. The memory unit203 includes an information recording medium such as a hard disk drive,a ROM, or a RAM, and is an information recording medium having storedthereon programs executed by the control unit 201. Moreover, the memoryunit 203 also operates as a work memory for the control unit 201. Notethat, the programs processed by the control unit 201 may be downloadedand provided, for example, via the network 102, or may be provided bymeans of various computer-readable information recording media such as aCD-ROM and a DVD-ROM. The communication unit 202 is, for example, anetwork interface, and transmits/receives information via the network102 in response to an instruction issued from the control unit 201.

The operation unit 205 includes, for example, an interface such as akeyboard, a mouse, a controller, and a button, and outputs, in responseto an instruction operation by a user, details of the instructionoperation to the control unit 201. Note that, the terminal 103 mayinclude a plurality of operation units 205, for example, two or morecontrollers. Further, an operation device described in Claimscorresponds to, for example, the operation unit 205.

The display unit 204 is, for example, a liquid crystal display, a CRTdisplay, or an organic EL display, and displays information asinstructed by the control unit 201. Note that, the configuration of theterminal 103 is described above as an example, and the present inventionis not limited thereto.

FIG. 3 is a diagram illustrating an example of the external appearanceof the terminal 103. As illustrated in FIG. 3, for example, the terminal103 has, as the operation unit 205, direction keys 301, a plurality ofbuttons 302, and analog operation units 303, and has a display screen304 as the display unit 204.

The direction keys 301 include, for example, an upward directioninstructing key, a downward direction instructing key, a rightwarddirection instructing key, and a leftward direction instructing key.With the direction keys 301, the user moves an object to be controlledin a game up, down, to the left, or to the right, for example. Each ofthe plurality of buttons 302 is marked with, for example, a, b, c, or d.The user pushes these buttons 302 to execute, for example, processingprocedures assigned to the respective buttons by a game program that isbeing executed.

The analog operation units 303 can each be operated so as to, forexample, tilt from a predetermined reference position, and the userinputs input information which reflects the amount and direction of tiltof the analog operation unit 303 from the reference position. Forinstance, the user can use one of the analog operation units 303 to tiltan object to be controlled displayed on the display screen 304 in adesired direction by a desired amount in connection with the amount anddirection of tilt of the analog operation unit 303. Further, the analogoperation unit 303 is a so-called analog button, in other words, forexample, a button for inputting an amount by which a user presses thebutton from a predetermined reference position, and may be configured soas to be able to operate the object to be controlled in connection withthe pressed amount. Further, the display screen 304 corresponds to thedisplay screen 304 of the display unit 204, and, for example, displaysan image or the like corresponding to a game program.

Note that, the external appearance of the terminal 103 that isillustrated in FIG. 3 and the configurations of the operation unit 205and the display unit 204 are given as an example, and the presentinvention is not limited thereto. For instance, the operation unit 205may be constituted of a touchpanel screen displayed by the display unit204, and the display unit 204 may be a display screen of a monitorconstituted of a CRT or a liquid crystal display device, or otherdisplays. The number of the direction keys 301, the number of theplurality of buttons 302, and the number of the analog operation units303 may be other numbers than those given above. The terminal 103 mayinclude other buttons such as a start button and a select button (notshown), an acceleration sensor, and the like. Further, the terminal 103includes, for example, the operation unit held by the user's hand or thelike, and may be configured so as to be able to operate the object to becontrolled in connection with movement of the user's hand or the like.In this case, for example, the terminal 103 obtains position informationon the operation unit by image recognition or the like, and the objectto be controlled is operated by using input information based on theposition information. In addition, the terminal 103 may include aplurality of operation units each of which is formed of the directionkeys 301, the plurality of buttons 302, the analog operation units 303,and the like.

FIG. 4 is a diagram for illustrating a functional configuration of theserver. As illustrated in FIG. 4, the server 101 includes an operationinformation obtaining unit 401, a connection status monitoring unit 402,a table management unit 403, a controller port 404, an execution unit405, a program storing unit 407, an execution control unit 408, anexecution status detecting unit 409, an image information generatingunit 410, an image information transmitting unit 411, an assignment unit412, and an assignment table storing unit 413.

The operation information obtaining unit 401 obtains, for example,respective pieces of operation information input to each of theoperation units 205. For example, in a case where a given game programis played by using respective buttons corresponding to buttonidentification information pieces a to f, for each of the operationunits 205, as illustrated in FIG. 5, the operation information obtainingunit 401 obtains respective values of, for example, 1 or 0 indicatingwhether or not the buttons corresponding to the above-mentioned buttonidentification information pieces a to f have been pressed down, forexample, every predetermined period (for example, every frame period).

Note that, the operation information of 1 or 0 indicating whether or notthe respective buttons have been pressed down is described above, but,in a case where, for example, the analog operation unit 303 is used, theoperation information obtaining unit 401 may be configured so as toobtain the operation information corresponding to the amount anddirection of the tilt of the analog operation unit 303 from thereference position and the operation information corresponding to theamount by which the button is pressed from the reference position (forexample, value of 0 to 100 or analog value itself) or the operationinformation corresponding to the above-mentioned position information.

The connection status monitoring unit 402 monitors a connection statusbetween the respective operation units 205 and the server 101. Then, ina case where, for example, a predetermined time has elapsed without aninput of the operation information from the operation unit 205 of theconnected terminal 103, it is determined that a connection between theoperation unit 205 and the server 101 has been disconnected.

The table management unit 403, for example, sets and changes details ofan assignment table in response to the user's instruction issued throughthe corresponding operation unit 205 or the like. Specifically, forexample, as illustrated in FIG. 6, the table management unit 403 setsthe assignment table so that an operation unit identificationinformation piece (operation unit ID) A is stored in association with aport 1P of the controller port 404, and after that, in response to theuser's another instruction issued through the corresponding operationunit 205 or the like, a change is made so that an operation unitidentification information piece B is stored in association with theport 1P of the controller port 404. Note that, in addition to the user'sinstruction, the table management unit 403 may be configured to changethe assignment table in accordance with a rule for changing theassignment table which is stored in advance.

The execution unit 405 executes the game program stored in the programstoring unit 407 based on each piece of operation information input tothe controller port 404. Here, the execution unit 405 and the controllerport 404 are realized by an emulator 406 or a simulator of a gamemachine targeted for the game program. Alternatively, the execution unit405 and the controller port 404 may be formed of the game machineitself.

The program storing unit 407 stores one or a plurality of game programs.Then, the execution unit 405 obtains, for example, the game programselected by the user from the program storing unit 407, and executes thegame program. Note that, snapshot data including values in a memory andvalues of a register of a game machine reproduced by the above-mentionedemulator 406 or the like may be previously stored in, for example, thememory unit 203 or an external database, and the execution unit 405 mayexecute the corresponding game program by using the snapshot data. Inthis case, for example, the game program can be executed from apredetermined time point of the game program, for example, apredetermined stage or a time point at which a given character appears.

The controller port 404 corresponds to the controller port 404 of thegame machine reproduced by the emulator 406 or the simulator, or in acase where the game machine itself is implemented, corresponds to thecontroller port 404 of the game machine. Therefore, for example, thecontroller port 404 includes respective ports, to which the respectivepieces of operation information are input from the respective operationunits 205, such as the 1P port connected to the controller 1 (firstoperation unit 205) regarding the player 1 of the game program and a 2Pport connected to the controller 2 (second operation unit 205) regardingthe player 2 of the game program. Note that, the respective pieces ofoperation information input from the respective operation units 205 areset in advance so as to correspond to the respective pieces of operationinformation previously assumed by the game program.

The execution control unit 408 controls the execution unit 405 to startor end the game program. Specifically, for example, the execution of thegame program is started in response to the user's instruction to startthe game issued through the operation unit 205, or when the connectionstatus monitoring unit 402 determines that the connection to theoperation unit 205 corresponding to a given user, who is playing thegame, has been disconnected, the execution unit 405 is stopped untilanother user who is to substitute the given user is set. Further, theexecution control unit 408 may finish the execution of the game programperformed by the execution unit 405 when the execution status detectingunit 409 described later recognizes, for example, a game end screen tothereby detect the end of the game.

The execution status detecting unit 409 detects image information, soundinformation, or the like in a predetermined scene, such as a scene wherea given game shifts from a stage 1 to a stage 2 or a given charactershifts to another character when the given character is defeated in afighting game, during the progress of the game (predetermined executionstatus of the game), for example, based on the assignment tabledescribed later.

Specifically, the execution status detecting unit 409 uses, for example,a known image recognition technology to detect various predeterminedscenes including an image displayed in a case where a stage of a givengame shifts from the stage 1 to the stage 2 such as an image fordisplaying a given character appearing in the fighting game or havingbeen defeated to be replaced by a next character therein.

Note that, in addition to the above-mentioned image recognitiontechnology, for example, a voice within the predetermined scene may berecognized by using speech recognition to recognize the predeterminedscene. In addition, the execution status detecting unit 409 may beconfigured to detect the various predetermined scenes based on values inthe memory, values of the register or a program counter, or the like ofthe game machine reproduced by the emulator 406 or the simulator withinthe predetermined scene or, in the case where the game machine isimplemented, based on the values in the memory, the values of theregister or the program counter, or the like of the game machine.

More specifically, for example, the execution status detecting unit 409may be configured to detect the various predetermined scenes bypreviously storing the values of the image information, the soundinformation, the program counter, and the like within theabove-mentioned various predetermined scenes in, for example, the memoryunit 203 or the database, and comparing the values of the imageinformation, the sound information, the program counter, and the likeobtained from the execution unit 405 with the stored values of the imageinformation, the sound information, the program counter, and the like.

The image information generating unit 410 generates, for example, theimage information for overlaying and displaying, on a play screen of thegame program, a controller assignment window described later or a windowindicating that the connection to the operation unit 205 correspondingto a given user has been disconnected. Note that, in addition to theabove-mentioned window, the image information generating unit 410 maygenerate the image information for displaying, on the above-mentionedplay screen, information such as a user name, for identifying the userwho is currently playing the game program. In this case, for example,the user who is currently playing or watching the game program can graspa change of the user as described later and which user is currentlyplaying.

The image information transmitting unit 411 transmits the imageinformation on the game generated by the execution unit 405 and theabove-mentioned image information generated by the image informationgenerating unit 410 to each corresponding terminal 103. Note that, theimage information transmitting unit 411 may compress the imageinformation before transmitting the image information to each terminal103. Further, the image information may include the sound information.

Based on the assignment table stored in the assignment table storingunit 413, the assignment unit 412 inputs the pieces of operationinformation, which have been input from the respective operation units205 and obtained by the above-mentioned operation information obtainingunit 401, to the respective ports of the controller port 404.Specifically, for example, as illustrated in FIG. 6, the assignmenttable storing unit 413 stores the assignment table obtained byassociating a port ID for identifying each port of the controller port404 with an operation unit ID for identifying each operation unit. Then,based on the assignment table, the assignment unit 412 inputs theoperation information input from the respective operation units 205 toeach port of the controller port 404. Note that, the server 101 may beconfigured so that the respective pieces of operation information inputfrom the respective operation units 205 are obtained every predeterminedperiod and retained in a memory unit such as the memory (for example,memory unit 105) and that the respective pieces of operation informationinput from the respective operation units and retained in the memoryunit are input to the controller port 404. In this case, for example,assuming that the game program is designed so that the object to becontrolled is, for example, operated based on the operation informationobtained every frame period in the game program, even in a case wherethe respective pieces of operation information input from the respectiveoperation units 205 are obtained on the server 101 every period longerthan one frame period, a case where the operation information isobtained on the server 101 with a latency due to a failure in a networkor the like, or other such case, the game program can be executed byusing the respective pieces of operation information retained in thememory unit.

For example, to give the description by using the example of FIG. 6, theassignment unit 412 outputs the operation information input from theoperation unit 205 whose operation unit ID is A to the port 1P of thecontroller port 404, and outputs the operation information input fromthe operation unit 205 whose operation unit ID is B to the port 2P ofthe controller port 404. Note that, the same applies to ports 3P and 4P,descriptions of which are omitted. With such a configuration, it ispossible to set or change controller assignment (assignment of therespective operation units 205 to the respective ports) based on theassignment table.

Further, the assignment table storing unit 413 may store the assignmenttable obtained by associating an execution status ID for identifying theabove-mentioned predetermined execution status, the port ID, and theoperation unit ID with one another. Specifically, the description ismade by using the examples illustrated in FIG. 7A or FIG. 7B. Note that,it is assumed that FIG. 7A illustrates an example of the assignmenttable used in a case where, for example, the game program is aBreakout-type game played by one player, and FIG. 7B illustrates anexample of the assignment table used in a case where, for example, thegame program is a fighting game played by two players.

In the assignment table illustrated in FIG. 7A, with regard to theexecution status ID of a1, the port ID of 1P is associated with A as theoperation unit ID, and with regard to the execution status ID of a2, theport ID of 1P is associated with B as the operation unit ID. Note that,the same applies to the execution status ID of a3 and the subsequentexecution status IDs, descriptions of which are omitted. Further, it isassumed that the execution status ID corresponds to, for example, eachstage. Specifically, for example, each execution status ID is associatedwith the value of the image information, the program counter, or thelike used when each stage is started.

In this case, when the execution status detecting unit 409 detects thatthe stage corresponding to the execution status ID has been started,based on the assignment table, the assignment unit 412 changes theassignment of the outputs of the respective pieces of operationinformation obtained by the operation information obtaining unit 401 tothe respective ports of the controller.

Specifically, in the case of, for example, FIG. 7A, it is assumed that,for example, the execution status IDs of a1 to a4 correspond to a firststage to a fourth stage, respectively. In this case, the assignmenttable stores the port ID of 1P in association with and A, B, A, and B asthe operation unit IDs in the order of the execution status IDs of a1 toa4, and hence the assignment unit 412 outputs the operation informationinput from the operation unit 205 whose operation unit ID corresponds toA in the first stage to the port 1P, and when the second stage isstarted, outputs the operation information input from the operation unit205 whose operation unit ID corresponds to B in the second stage to theport 1P. The same applies to the third stage and the subsequent stages,descriptions of which are omitted.

Note that, in the above description, it is assumed that each operationunit ID is associated with each user ID. Further, the description ismade above by assuming that the execution status ID corresponds to eachstage, but the execution status ID may correspond to each characteroperated by each player, each lap in a case of a race game or the likeinvolving moving around a course, or other such information.

With such a configuration as described above, for example, even if thegame program stored in the program storing unit 407 is created so as tobe played by only one player, it is possible to add a new way ofenjoying that allows each stage to be played by a different user, whichis not originally included in the game program. Note that, in the abovedescription, which user plays which stage, in other words, which portthe operation information input from which operation unit 205 isassigned to in which stage, for example, may be set in advance by eachuser by using a chat function or the like, and the assignment table asdescribed above may be stored based on this information.

Further, in the assignment table illustrated in FIG. 7B, with regard toeach port ID, a plurality of execution status IDs and a plurality ofoperation unit IDs are stored in association with each other.Specifically, for example, as illustrated in FIG. 7B, with regard to theport ID of 1P, the execution status IDs of b1 to b4 and the operationunit IDs of A1 to A4 are stored in association with each other, and withregard to the port ID of 2P, the execution status IDs of c1 to c4 andthe operation unit IDs of B1 to B4 are stored in association with eachother. Further, the execution status IDs of b1 to b4 are each associatedwith information relating to the character of which the player takescharge. Specifically, for example, the execution status ID of b1 isassociated with the value of the image information or the programcounter used when the given character appears, and the execution statusID of b2 is associated with the value of the image information or theprogram counter used when the character is defeated followed by theappearance of the next character.

With this configuration, the execution status detecting unit 409 can,for example, detect the appearance of the character (change of thecharacter) by comparing the above-mentioned image information or thelike with the image information or the like obtained from the executionunit 405 and change the assignment to the respective ports to which therespective pieces of operation information input from the respectiveoperation units 205 are output in response to the detection. With thisconfiguration, for example, even in a case where the game program iscreated by assuming that a match is played by two players, it ispossible to allow a larger number of persons to play the match or thelike by changing the user who operates the character on acharacter-to-character basis or the like.

Note that, which user takes charge of which character, in other words,which port the operation information input from which operation unit 205is assigned to for which character, for example, may be set in advanceby each user by using the chat function or the like before the gamestarts, and the assignment table as described above may be stored.Further, the configuration of the server 101 described above is merelyan example, and the present invention is not limited thereto. Forexample, the server 101 may be realized based on a distributed computingenvironment such as a so-called cloud service which uses a plurality ofapplication servers, database servers, storage devices, and the likethat are communicably connected to one another.

Next, with reference to FIG. 8, by using an example of a case where thegame program is a golf game played by four players, a description ismade of another example of a flow of processing of the informationprocessing system according to this embodiment. Specifically, thedescription is made by using an example of a case where the assignmenttable is set as illustrated in FIG. 6 as described above and where, forexample, the connection between the operation unit 205 identified by anoperation unit identification information A and the server 101 has beendisconnected while the golf game is being played. Note that, asdescribed above, the assignment table illustrated in FIG. 6 representsan assignment table for assigning the respective pieces of operationinformation input from the operation units 205 identified by operationunit identification information pieces A to D, which correspond to fourusers (referred to as “users A to D”), respectively, to the respectiveports of the controller port 404.

For example, in response to the instruction to start the game issuedfrom the operation unit 205 identified by the operation unitidentification information piece A, the execution unit 405 starts theexecution of a golf game program stored in the program storing unit 407(S101). Note that, the description is now made by assuming that the userA corresponding to the operation unit 205 identified by the operationunit identification information piece A issues the instruction to startthe game, but another user corresponding to another operation unit 205,for example, the user set as a representative in advance, may issue theinstruction to start the game. Further, at this time, the connectionstatus monitoring unit 402 starts monitoring the connection statusbetween the respective operation units 205 corresponding to theoperation unit identification information pieces A to D and the server101 (S102).

Then, when the connection status monitoring unit 402 determines that theconnection between the server 101 and a given operation unit 205 hasbeen disconnected, the image information generating unit 410 generates,for example, a superimposition image as illustrated in FIG. 9A obtainedby superimposing image information for displaying a disconnectionwindow, which identifies the operation unit to which the connection hasbeen disconnected and indicates that the connection to the operationunit has been disconnected, on the play screen of the game, and theimage information transmitting unit 411 transmits the superimpositionimage to the corresponding terminal 103 (S103). Specifically, forexample, in the case illustrated in FIG. 9A, the connection between theoperation unit 205 and the server 101 has been disconnected, and hencethe superimposition image is transmitted to the respective operationunits 205 corresponding to the other users B to D. Then, the respectiveterminals 103 display the superimposition image.

Subsequently, the image information generating unit 410 generates, forexample, a superimposition image as illustrated in FIG. 9B obtained bysuperimposing image information for displaying the controller assignmentwindow for changing the assignment of the respective operation units tothe respective ports on the play screen of the game, and the imageinformation transmitting unit 411 transmits the superimposition image tothe corresponding terminal 103 (S104). Specifically, for example, in thecase illustrated in FIG. 9B, for example, the connection to the user Ahas been disconnected as described above, and hence the usercorresponding to a player 1P is displayed as “N/A”.

Subsequently, the user to which the connection is maintained, forexample, any one of the users B to D uses the corresponding operationunit 205 to issue an operation instruction to change the assignment viathe respective operation units 205 (S105). Specifically, for example, asillustrated in FIG. 9B, the user B uses the corresponding operation unit205 to perform a click or the like on an “edit” button image included inthe controller assignment window, to thereby assign the user B also to1P. FIG. 9C indicates how the user B is thus assigned to the controller1P.

Further, at this time, as illustrated in FIG. 10A, the table managementunit 403 changes operation unit identification information whose port IDcorresponds to 1P within the assignment table stored in the assignmenttable storing unit 413 to the user B. Note that, in the abovedescription, as a specific example, the case where the user B assignsthe user B to the controller 1P is described, but another user mayassign the user B or further another user. Further, only anadministrator set from a plurality of users may be allowed to performthe above-mentioned assignment. In this case, the administrator may beset in accordance with a rule or the like set in advance by the system,or the plurality of users may be allowed to set by using the chatfunction or the like.

Alternatively, for example, in FIG. 9B, the user who is operating theoperation unit 205 to which the connection is maintained, in otherwords, any one of the users B to D may use the corresponding operationunit 205 to perform a click or the like on an “invite” button imageincluded in the controller assignment window, to thereby allow a user(for example, user E) who is not currently playing the golf game to jointhe golf game as the player 1P by using the corresponding operation unit205. FIG. 9D illustrates how the user E is thus assigned to 1P. Forexample, the user E may be a user who is watching the playing of theusers A to D or a user who has submitted a request for a match to beregistered as being in a state of looking for an available game or othersuch state.

Further, at this time, as illustrated in FIG. 10B, the table managementunit 403 changes the operation unit identification information whoseport ID corresponds to 1P within the assignment table stored in theassignment table storing unit 413 to identification information E beingthe identification information input from the operation unit 205operated by the user E.

After the assignment table has been changed as described above, theexecution unit 405 resumes the game (S106). At this time, based on theabove-mentioned assignment table that has been changed, the assignmentunit 412 inputs the operation information input from the respectiveoperation units 205 to the respective ports of the controller port 404.After that, the processing of Steps S103 to S106 is repeated. Note that,here, also during the execution of the game program, the information foridentifying the user assigned to each player, for example, the user nameor the like, may be displayed on the display unit 204 of the terminal103 corresponding to the user who is playing or watching the gameprogram. In this case, for example, the user who is playing or watchingthe game program can grasp the change of the user and which user iscurrently playing.

As described above, for example, another player can continue the playingin place of the user who can no longer continue the playing or the userwho does not desire to continue the playing. Specifically, for example,in a case illustrated in FIG. 10A, by assigning the operationinformation whose operation ID is B to the port 1P in place of theoperation information input from the operation unit 205 whose operationID is A, the user B can take charge of the players 1 and 2 in place ofthe user A who has been in charge of the player 1. Further, for example,in a case illustrated in FIG. 10B, by assigning the operationinformation whose operation ID is E to the port 1P in place of theoperation information input from the operation unit 205 whose operationID is A, the user E can take charge of the player 1 in place of the userA who has been in charge of the player 1.

With such a configuration as described above, for example, while thematch is played by a plurality of persons, even when one user goesoff-line or the like to find it difficult to continue the game or whenthe one user no longer wishes to continue the game, by changing thedetails of the assignment table, it is possible to allow another user totake over the playing from the one user.

Note that, the flow of the processing described above is merely anexample, and the present invention is not limited thereto. For example,in place of the user's instruction, when the connection statusmonitoring unit 402 determines that the connection between a given portand one operation unit 205 has been disconnected, the assignment betweenthe operation unit 205 and the port may be changed without the user'sinstruction, for example, the operation unit 205 that is set in advancemay be connected in place of the operation unit 205 that has beenconnected to the port or the like.

Next, a description is made of another example of the flow of theprocessing of the information processing system according to thisembodiment by using the case where the game program stored in theprogram storing unit 407 is a Breakout-type game played by one player ora fighting game in which a match is played by two players.

First, as described above, before the game starts, by having each userselect which stage is to be played by which user, which user is to takecharge of which character, and the like, the assignment table storingunit 413 stores, for example, the above-mentioned assignment table asillustrated in FIGS. 7A and 7B.

When the game is started, the execution status detecting unit 409 startsthe detection of the predetermined execution status. As described above,the execution status is associated with the execution status ID. Forexample, in FIG. 7A, the stage 1 corresponds to the execution status IDof a1 and the stage 2 corresponds to the execution status ID of a2 orthe like, while in FIG. 7B, the first character corresponds to theexecution status ID of b1 and the next character corresponds to theexecution status ID of b2 or the like.

Then, when the execution status detecting unit 409 detects thepredetermined execution status (corresponding to the execution statusID), the operation information input from the operation unit 205 havingthe operation unit ID stored in association with the execution status IDstored in the assignment table is changed so as to be input to the portindicated by the port ID stored in association therewith.

Specifically, to give the description by taking the example of FIG. 7A,first, the operation information input from the operation unit ID of Ais input to the port identified by the port ID of 1P. Subsequently, whenthe execution status detecting unit 409 detects a screen that hasshifted to the stage 2 corresponding to the execution status ID of a2 bythe image recognition or the like, the assignment unit 412 inputs theoperation information input from the operation unit ID stored inassociation with the execution status ID of a2 to the port ID of 1P. Thesubsequent flow is similar to the above explained, descriptions of whichare omitted. With this configuration, for example, when a shift is madefrom the stage 1 to the stage 2, the operation unit for operating theobject to be controlled of the game program can be changed from theoperation unit whose operation unit ID is A to the operation unit havingthe operation unit ID of B. In other words, the user who operates theobject to be controlled of the game can be changed depending on thestage.

Further, to give the description by taking the example of FIG. 7B,first, the operation information input from the terminal 103 having theoperation unit ID of A1 is input to the port identified by the port IDof 1P. Subsequently, when the execution status detecting unit 409detects a screen on which the character corresponding to the executionstatus ID of b2 has appeared by the image recognition or the like, theassignment unit 412 inputs the operation information input from theoperation unit 205 having the operation unit ID stored in associationwith the execution status ID of b2 to the port ID of 1P. The subsequentflow is similar to the above explained, descriptions of which areomitted. With this configuration, for example, when the charactercorresponding to the execution status ID of b1 is defeated followed bythe appearance of the character corresponding to the execution status IDof b2, the operation unit for operating the object to be controlled ofthe game program can be changed from the operation unit having theoperation unit ID of A1 to the operation unit having the operation unitID of A2.

As described above, depending on the detection of the predeterminedexecution status, for example, the case where the stage has progressed,the case where the first character is defeated followed by theappearance of the next character, or the like, the user who plays thegame can be changed by changing the assignment of the respective piecesof operation information input to the respective operation units 205 tothe respective ports. Note that, the flow of the processing describedabove is merely an example, and the present invention is not limitedthereto. For example, by using a combination of sets of processingdescribed above with reference to FIG. 7 and FIG. 10, for example, theassignment of the respective operation units to the respective ports maybe changed depending on the connection status and the execution status.

Note that, the present invention is not limited to the embodimentdescribed above, and is receptive to various modifications. Forinstance, the configuration described above can be replaced withsubstantially the same configuration, a configuration that provides thesame actions and effects, or a configuration that accomplishes the sameobject as the one described above in the embodiment.

For example, with regard to the change of the above-mentioned assignmenttable, in addition to the above-mentioned playing of a one-player gameby taking turns in each stage or the like, for example, with the usercorresponding to a master and the user corresponding to an apprenticeset in advance, the master may instruct to change the assignment of theoperation unit 205 of the master to the port to which the operation unit205 of the apprentice is connected while watching the play screen of theapprentice, to thereby operate the character being operated by theapprentice by using the operation unit 205 used by the master only whenthe master feels that the operation performed by the apprentice isinappropriate or in other such occasion.

In addition, in a case where the game program is a puzzle game, ashooting game, or the like, the users may take turns to proceed with thegame as the need arises. Specifically, for example, with regard to thechange of the assignment, as described above, the users may take turnsto proceed with the game as the need arises in response to apredetermined user's instruction issued through the operation unit 205,the detection of the predetermined scene, or the like. Here, in the casewhere the users may take turns in response to the user's instructionissued through the operation unit 205, the assignment may be changed ona menu screen for the assignment change, or a switch button may beassigned to a given button of the operation unit 205 in order to performsmooth switching. Further, for example, another user who makes a requestfor a match when a given user is playing the game as 1P (player 1) mayautomatically join the game as the player 2. In this case, in responseto the request for a match made by the another user, the assignmenttable may be changed so that, for example, the operation informationinput from the operation unit 205 used by the another user is assignedto the port 2P. Note that, in this case, it is assumed that theassignment table before the request for a match was set so that theoperation information input from the operation unit 205 used by the usercorresponding to the player 1 was assigned to the port 1P.

In addition, with regard to the above-mentioned change of theassignment, for example, which operation information input from theoperation unit 205 used by which user is to be enabled (assigned to theport) may be switched among the plurality of users registered in advancein a predetermined order or randomly every fixed time. For example, inthe fighting game or the like, teams, groups, or the like may be allowedto play a match or the like with each other.

Modified Example 1

Next, Modified Example 1 is described. Note that, in the following,descriptions of the same points as described above are omitted. Further,in the following, for example, the description is made mainly by using acase where the game program to be executed is created so that one playeruses four pieces of operation information, for example, four buttons tooperate the object to be controlled, but the game program may be createdso that the object to be controlled is operated based on the operationinformation input from another number of buttons, analog operation units303, acceleration sensors, or the like.

In this modified example, the assignment table storing unit 413 stores,for example, as illustrated in FIG. 11, the assignment table in whichoperation information IDs, operation unit IDs, and input information IDsare stored in association with the port IDs. Here, the operationinformation IDs are IDs for identifying the respective pieces ofoperation information assumed in the game program, and in a case where,for example, the game program is created so as to be operated by oneplayer using four buttons, correspond to information pieces foridentifying the four buttons. The input information IDs correspond toinformation pieces for respectively identifying the respective pieces ofinput information input to the operation unit 205, for example, buttonsor the like associated with the above-mentioned four buttons.

Specifically, for example, as illustrated in FIG. 11, with regard to theport ID of 1P, the operation information IDs of a to d are associatedwith the input information IDs of aa to dd, respectively, and theoperation information ID of a and b are associated with the operationunit IDs of A and B, respectively. Note that, the similar explanation isapplied to the port ID of 2P, a description of which is omitted.

Based on the assignment table, the assignment unit 412 assigns therespective pieces of input information indicated by the respective inputinformation IDs to the respective pieces of operation informationindicated by the respective operation information IDs. Specifically, forexample, in the case illustrated in FIG. 11, the input information whichis input to the operation unit identified by the operation unit ID of Aand which is identified by the input information IDs of aa and bb isassigned to the operation information identified by the operationinformation IDs of a and b to be input to the port ID of 1P. Further,the input information which is input to the operation unit identified bythe operation unit ID of A and which is identified by the inputinformation IDs of cc and dd is assigned to the operation informationidentified by the operation information IDs of c and d to be input tothe port ID of 1P.

With such a configuration, the plurality of users can share a pluralityof pieces of operation information operated by the player 1 in the gameprogram. Specifically, for example, in a case where the respectivepieces of operation information indicated by the operation informationIDs of a and b correspond to the information input to buttons a and bfor the player 1 of the game program, and the pieces of operationinformation indicated by the operation information IDs c and dcorrespond to the information input to buttons c and d for the player 1of the game program, the user A may take charge of the buttons a and b,and the user B may take charge of the buttons c and d. Note that, thesame applies to the player 2 of the game program, a description of whichis omitted. Further, the respective operation unit IDs are associatedwith the respective user IDs, and the respective users use therespective operation units 205 corresponding thereto to input therespective pieces of input information identified by the inputinformation IDs.

Next, by using the above-mentioned example, a description is made of anexample of the flow of the processing of the information processingsystem according to this modified example. First, for example, asdescribed above, before the game starts, by having each user selectwhich user is to take charge of which player (player 1 or 2) of the gameand which user is to take charge of which button for which player, theassignment table storing unit 413 stores the above-mentioned assignmenttable as illustrated in FIG. 11.

Then, when the game is started, based on the assignment table set asdescribed above, the assignment unit 412 assigns the respective piecesof identification information identified by the respective pieces ofinput information identification ID input from the respective operationunits as the respective pieces of operation information identified bythe respective operation information IDs. Specifically, to give thedescription by using the example illustrated in FIG. 11, as describedabove, the information input from the respective operation units 205whose operation unit IDs correspond to A and B is input to the 1P portof the controller port 404. Specifically, to the 1P port, the respectivepieces of input information indicated by the input information IDs of aaand bb input to the operation unit 205 whose operation unit ID is A areinput as the respective pieces of operation information having theoperation information IDs of a and b, the respective pieces of inputinformation indicated by the input information IDs of cc and dd input tothe operation unit 205 whose operation unit ID is A are input as therespective pieces of operation information having the operationinformation IDs of c and d, and other such information is input.

With such a configuration as described above, the respective pieces ofinput information input through the plurality of operation units 205 canbe input as the respective pieces of operation information to be inputto one port of the controller port 404. Therefore, for example, aplurality of buttons or the like used to operate a given object to becontrolled can be operated by being shared on a user-to-user basis.Specifically, for example, in the case where the game program is ashooting game, the user A can take charge of a direction operation(corresponding to, for example, buttons a and b) for a fighter planeoperated by the user, while the user B can take charge of launch buttons(corresponding to, for example, buttons c and d) for two kinds ofmissile, and other such sharing is possible. With this configuration,for example, even in the game program created by assuming one player, itis possible to realize a so-called cooperative play or shared play thatallows a plurality of players to play by sharing the plurality ofbuttons or the like included in one controller used in the game on auser-to-user basis (on an operation unit-to-operation unit basis).

Note that, the present invention is not limited to the above-mentionedembodiment or Modified Example 1, and various modifications can be made.For example, the above-mentioned configuration can be replaced withsubstantially the same configuration, a configuration that provides thesame actions and effects, or a configuration that accomplishes the sameobject as the one described in the above-mentioned embodiment orModified Example 1. For example, the above-mentioned embodiment andModified Example 1 may be combined to perform the changing, the setting,or the like for the assignment of the respective pieces of inputinformation input to the operation unit 205 to the operationinformation, for example, in response to the user's instruction in themiddle of the game or in response to the detection of theabove-mentioned predetermined scene, for example, in each stage, foreach character, or every predetermined time.

Modified Example 2

Next, Modified Example 2 is described. Note that, in the following,descriptions of the same points as those of the embodiment or ModifiedExample 1 described above are omitted. Further, as in Modified Example1, for example, the description is made mainly by using a case where thegame program to be executed is created so that one player uses fourpieces of operation information, for example, four buttons to operatethe object to be controlled, but the game program may be created so thatthe object to be controlled is operated based on the operationinformation input from another number of buttons, analog operation units303, acceleration sensors, or the like.

In this modified example, as in Modified Example 1, the assignment tablestoring unit 413 stores, for example, as illustrated in FIG. 12, theassignment table in which operation information IDs, operation unit IDs,and input information IDs are stored in association with the port IDs.However, this modified example is different in that a plurality ofoperation unit IDs are associated with one operation information ID.

Specifically, for example, as illustrated in FIG. 12, with regard to theport ID of 1P, two operation unit IDs of A and B are stored inassociation with the operation information ID of c, and two operationunit IDs of A and B are stored in association with the operationinformation ID of d.

Based on the assignment table, the assignment unit 412 assigns therespective pieces of input information indicated by the respective inputinformation IDs to the respective pieces of operation informationindicated by the respective operation information IDs. Specifically, forexample, in the case illustrated in FIG. 12, as described above in theabove-mentioned Modified Example 1, the input information which is inputto the operation unit identified by the operation unit ID of A and whichis identified by the input information IDs of aa and bb is input as therespective pieces of operation information identified by the operationinformation IDs of a and b to be input to the port ID of 1P. On theother hand, the input information which is input to the operation unitidentified by the operation unit IDs of A and B and which is identifiedby the input information IDs of cc and dd is input as the respectivepieces of operation information identified by the operation informationIDs of c and d to be input to the port ID of 1P.

With such a configuration, the operation information created so as to beinput by the player 1 in the game program can be shared by the pluralityof users, and in addition, one or all pieces of input information inputby the player 1 can be shared by different users with overlaps.Specifically, in the case of the above-mentioned example, for example,in the case where the pieces of operation information indicated by theoperation information IDs c and d correspond to the information input tothe buttons c and d for the player 1 of the game program, both the usersA and B may take charge of the buttons c and d. Note that, the sameapplies to the player 2 of the game program, descriptions of which areomitted.

Next, by using the above-mentioned example, a description is made of anexample of the flow of the processing of the information processingsystem according to this modified example. First, for example, asdescribed above, before the game starts, by having each user selectwhich user is to take charge of which player (for example, player 1 or2) of the game and which user is to take charge of which button forwhich player, the assignment table storing unit 413 stores theabove-mentioned assignment table as illustrated in FIG. 12.

Then, when the game is started, based on the assignment table set asdescribed above, the assignment unit 412 assigns the respective piecesof identification information identified by the respective pieces ofinput information identification ID input from the respective operationunits 205 as the respective pieces of operation information identifiedby the respective operation information IDs. Specifically, to give thedescription by using the example illustrated in FIG. 12, as describedabove, the information input from the respective operation units 205whose operation unit IDs correspond to A and B are input to the 1P portof the controller port 404. Specifically, to the 1P port, the respectivepieces of input information indicated by the input information IDs of aaand bb input to the operation unit 205 whose operation unit ID is A areinput as the respective pieces of operation information having theoperation information IDs of a and b, the respective pieces of inputinformation indicated by the input information IDs of cc and dd input tothe operation units 205 whose operation unit IDs correspond to A and Bare input as the respective pieces of operation information having theoperation information IDs of c and d, and other such information isinput.

With such a configuration as described above, the pieces of operationinformation input through the plurality of operation units 205 can beinput to one port of the controller port 404 with overlaps. Therefore,for example, in the case where the game program is a shooting game, theuser A can take charge of the direction operation (corresponding to, forexample, buttons a and b) for the own fighter plane, while both theusers A and B can take charge of the launch buttons (corresponding to,for example, buttons c and d) for the two kinds of missile, and othersuch sharing is possible. With this configuration, for example, in acase where continuous hitting or the like of the launch buttons isdesired, the input information may be input with overlaps by the users Aand B pressing down the buttons c and d, to thereby realize theso-called cooperative play, shared play, or the like. For example, in acase of a game relating to a fastest-finger-first quiz, simultaneousinputs from a plurality of users in each group may be enabled, tothereby realize a so-called cooperative match play on a group-to-groupbasis.

Note that, the present invention is not limited to the above-mentionedembodiment or Modified Example 1 or 2, and is receptive to variousmodifications. For instance, the configuration of the above-mentionedembodiment or Modified Example 1 or 2 can be replaced with substantiallythe same configuration, a configuration that provides the same actionsand effects, or a configuration that accomplishes the same object as theone described above in the above-mentioned embodiment or ModifiedExample 1 or 2. For example, the above-mentioned embodiment, andModified Examples 1 and 2 may be combined to perform the changing, thesetting, or the like for the assignment of the respective pieces ofinput information input to the operation unit to the operationinformation, even in the case of the overlapped assignment as describedabove, for example, in response to the user's instruction in the middleof the game or in response to the detection of the above-mentionedpredetermined scene, for example, in each stage, for each character, orevery predetermined time. In addition, the description has been madeabove of the information processing system including the server 101 andthe respective terminals 103, but the terminal 103 itself may include apart or all of the functions of the above-mentioned server 101, forexample, the execution unit 405, the controller port 404, and theassignment unit 412 described above, to thereby dynamically change theassignment of the plurality of terminals 103 connected to the terminal103 to the controller port 404 as described above.

The invention claimed is:
 1. An information processing system,comprising: a controller port comprising a plurality of ports to which aplurality of operation signals are input from a plurality of operationdevices via a network; an execution unit configured to execute a gameprogram in response to each of the plurality of operation signals inputfrom each of the plurality of operation devices to each of the pluralityof the ports; and an assignment unit configured to assign each of theplurality of operation devices to each of the plurality of respectiveports, wherein the assignment unit changes assignment of each of theplurality of operation devices to each of the plurality of ports in apredetermined case, and wherein the assignment unit assigns oneoperation device among the plurality of operation devices to at leasttwo ports among the plurality of ports.
 2. The information processingsystem according to claim 1, further comprising an image informationgenerating unit configured to generate image information that isobtained by associating information corresponding to each of theplurality of ports with information corresponding to each of theplurality of operation devices, wherein the assignment unit changes theassignment of each of the plurality of operation devices to each of theplurality of ports in response to a user's instruction for assignmentbased on the image information.
 3. The information processing systemaccording to claim 1, further comprising a connection informationobtaining unit configured to obtain connection information indicating aconnection status between each of the plurality of ports and each of theplurality of operation devices, wherein the assignment unit changes theassignment of each of the plurality of operation devices to each of theplurality of ports depending on the obtained connection status.
 4. Theinformation processing system according to claim 1, further comprisingan execution status detecting unit configured to detect a predeterminedexecution status of the execution unit; wherein the assignment unitchanges the assignment of each of the plurality of operation devices toeach of the plurality of ports based on the detected execution status.5. The information processing system according to claim 4, wherein theexecution status detecting unit detects the predetermined executionstatus by using image processing.
 6. The information processing systemaccording to claim 1, wherein the assignment unit changes the assignmentof each of the plurality of operation devices to each of the pluralityof ports based on allocation information obtained by storing respectivepieces of port identification information for identifying each of theplurality of ports in association with respective pieces of operationdevice identification information for identifying each of the pluralityof operation devices.
 7. The information processing system according toclaim 6, wherein the allocation information stores execution statusidentification information for identifying predetermined executionstatus in association therewith.
 8. The information processing systemaccording to claim 3, wherein allocation information is updateddepending on the obtained connection status.
 9. The informationprocessing system according to claim 4, wherein allocation informationis updated based on the detected execution status.
 10. The informationprocessing system according to claim 8, wherein the assignment unitchanges the assignment of each of the plurality of operation devices toeach of the plurality of ports based on the updated allocationinformation.
 11. An information processing method, comprising: executinga game program in response to each of a plurality of operation signalsthat input to each of the plurality of ports of a controller port from aplurality of operation devices, wherein the controller port comprisesthe plurality of ports to which the plurality of operation signals areinput from the plurality of operation devices via a network; assigningeach of the plurality of the operation devices to each of the pluralityof ports; changing assignment of each of the plurality of operationdevices to each of the plurality of ports in a predetermined case; andassigning one operation device among the plurality of operation devicesto at least two ports among the plurality of ports.
 12. An apparatus,including a microprocessor operating under control of a informationprocessing computer program for causing a computer to function as: acontroller port unit comprising a plurality of ports to which aplurality of operation signals are input from a plurality of operationdevices via a network; an execution unit configured to execute a gameprogram in response to each of the plurality of operation signals inputfrom each of the plurality of operation devices to each of the pluralityof ports; and an assignment unit configured to assign each of theplurality of operation devices to each of the plurality of ports,wherein the assignment unit changes assignment of each of the pluralityof operation devices to each of the plurality of ports in apredetermined case, and wherein the assignment unit assigns oneoperation device among the plurality of operation devices to at leasttwo ports among the plurality of ports.
 13. A non-transitory,computer-readable information storage medium having stored thereon theinformation processing computer program according to claim 12.